package icu.zlz.emqx.mapper;

import java.util.List;
import java.util.Map;

import icu.zlz.emqx.domain.IotGroup;
import org.apache.ibatis.annotations.Param;

/**
 * 设备组Mapper接口
 * 
 * @author zangs
 * @since 2024-12-27
 */
public interface IotGroupMapper
{
    List<Map<String, Object>> selectIotGroupMapList(@Param("name") String name, @Param("userId") Long userId);

    /**
     * 查询设备组
     *
     * @param groupId 设备组主键
     * @param userId 如果不是管理员就需要传用户Id,是管理员就不传
     * @return 设备组
     */
    public IotGroup selectIotGroupByGroupIdAndUserId(@Param("groupId") Long groupId, @Param("userId")  Long userId);

    /**
     * 查询设备组列表
     * 
     * @param iotGroup 设备组
     * @return 设备组集合
     */
    public List<IotGroup> selectIotGroupList(IotGroup iotGroup);

    /**
     * 新增设备组
     * 
     * @param iotGroup 设备组
     * @return 结果
     */
    public int insertIotGroup(IotGroup iotGroup);

    /**
     * 修改设备组
     * 
     * @param iotGroup 设备组
     * @return 结果
     */
    public int updateIotGroup(IotGroup iotGroup);

    /**
     * 删除设备组
     * 
     * @param groupId 设备组主键
     * @return 结果
     */
    public int deleteIotGroupByGroupId(Long groupId);

    /**
     * 批量删除设备组
     * 
     * @param groupIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIotGroupByGroupIds(Long[] groupIds);




}
